﻿2026-08-08T19:19:25.7155401Z Current runner version: '2.336.0'
2026-08-08T19:19:25.7197114Z ##[group]Runner Image Provisioner
2026-08-08T19:19:25.7198507Z Hosted Compute Agent
2026-08-08T19:19:25.7199608Z Version: 20260707.563
2026-08-08T19:19:25.7200710Z Commit: 02667638d2b423fbc733a8e32a88b44996a3ba6e
2026-08-08T19:19:25.7201934Z Build Date: 2026-07-07T19:33:50Z
2026-08-08T19:19:25.7203268Z Worker ID: {22ff369c-78cb-486a-8b3c-c04b35e103c6}
2026-08-08T19:19:25.7204520Z Azure Region: eastus
2026-08-08T19:19:25.7205494Z ##[endgroup]
2026-08-08T19:19:25.7208456Z ##[group]Operating System
2026-08-08T19:19:25.7209612Z Ubuntu
2026-08-08T19:19:25.7210546Z 24.04.4
2026-08-08T19:19:25.7211407Z LTS
2026-08-08T19:19:25.7212330Z ##[endgroup]
2026-08-08T19:19:25.7213239Z ##[group]Runner Image
2026-08-08T19:19:25.7214461Z Image: ubuntu-24.04
2026-08-08T19:19:25.7215452Z Version: 20260720.247.2
2026-08-08T19:19:25.7217807Z Included Software: https://github.com/actions/runner-images/blob/ubuntu24/20260720.247/images/ubuntu/Ubuntu2404-Readme.md
2026-08-08T19:19:25.7220684Z Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu24%2F20260720.247
2026-08-08T19:19:25.7222339Z ##[endgroup]
2026-08-08T19:19:25.7224481Z ##[group]GITHUB_TOKEN Permissions
2026-08-08T19:19:25.7227683Z Contents: read
2026-08-08T19:19:25.7228751Z Metadata: read
2026-08-08T19:19:25.7229663Z ##[endgroup]
2026-08-08T19:19:25.7232946Z Secret source: Actions
2026-08-08T19:19:25.7234636Z Prepare workflow directory
2026-08-08T19:19:25.7742336Z Prepare all required actions
2026-08-08T19:19:25.7814474Z Getting action download info
2026-08-08T19:19:25.9742159Z Download action repository 'actions/checkout@v4' (SHA:11d5960a326750d5838078e36cf38b85af677262)
2026-08-08T19:19:26.2319094Z Download action repository 'actions/setup-node@v4' (SHA:49933ea5288caeca8642d1e84afbd3f7d6820020)
2026-08-08T19:19:26.4384211Z Complete job name: Frontend – tests, typecheck, production build
2026-08-08T19:19:26.5194254Z Node 20 is being deprecated. This workflow is running with Node 24 by default. If you need to temporarily use Node 20, you can set the ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true environment variable. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
2026-08-08T19:19:26.5203083Z ##[group]Run actions/checkout@v4
2026-08-08T19:19:26.5203870Z with:
2026-08-08T19:19:26.5204358Z   repository: Gamexgit/FinanceManager
2026-08-08T19:19:26.5208945Z   token: ***
2026-08-08T19:19:26.5209426Z   ssh-strict: true
2026-08-08T19:19:26.5209892Z   ssh-user: git
2026-08-08T19:19:26.5210359Z   persist-credentials: true
2026-08-08T19:19:26.5210870Z   clean: true
2026-08-08T19:19:26.5211342Z   sparse-checkout-cone-mode: true
2026-08-08T19:19:26.5211892Z   fetch-depth: 1
2026-08-08T19:19:26.5212344Z   fetch-tags: false
2026-08-08T19:19:26.5212808Z   show-progress: true
2026-08-08T19:19:26.5213275Z   lfs: false
2026-08-08T19:19:26.5213763Z   submodules: false
2026-08-08T19:19:26.5214242Z   set-safe-directory: true
2026-08-08T19:19:26.5214784Z   allow-unsafe-pr-checkout: false
2026-08-08T19:19:26.5215651Z ##[endgroup]
2026-08-08T19:19:26.6441795Z Syncing repository: Gamexgit/FinanceManager
2026-08-08T19:19:26.6445638Z ##[group]Getting Git version info
2026-08-08T19:19:26.6448264Z Working directory is '/home/runner/work/FinanceManager/FinanceManager'
2026-08-08T19:19:26.6469344Z [command]/usr/bin/git version
2026-08-08T19:19:26.6555932Z git version 2.54.0
2026-08-08T19:19:26.6621936Z ##[endgroup]
2026-08-08T19:19:26.6729273Z Temporarily overriding HOME='/home/runner/work/_temp/9f886bac-8b33-41d6-abc7-f4ccc550fb6c' before making global git config changes
2026-08-08T19:19:26.6985618Z Adding repository directory to the temporary git global config as a safe directory
2026-08-08T19:19:26.8412278Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/FinanceManager/FinanceManager
2026-08-08T19:19:26.8415602Z Deleting the contents of '/home/runner/work/FinanceManager/FinanceManager'
2026-08-08T19:19:26.8418025Z ##[group]Initializing the repository
2026-08-08T19:19:26.8419932Z [command]/usr/bin/git init /home/runner/work/FinanceManager/FinanceManager
2026-08-08T19:19:26.8424029Z hint: Using 'master' as the name for the initial branch. This default branch name
2026-08-08T19:19:26.8425872Z hint: will change to "main" in Git 3.0. To configure the initial branch name
2026-08-08T19:19:26.8427857Z hint: to use in all of your new repositories, which will suppress this warning,
2026-08-08T19:19:26.8429324Z hint: call:
2026-08-08T19:19:26.8432202Z hint:
2026-08-08T19:19:26.8433200Z hint: 	git config --global init.defaultBranch <name>
2026-08-08T19:19:26.8434427Z hint:
2026-08-08T19:19:26.8435491Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
2026-08-08T19:19:26.8437441Z hint: 'development'. The just-created branch can be renamed via this command:
2026-08-08T19:19:26.8438827Z hint:
2026-08-08T19:19:26.8439637Z hint: 	git branch -m <name>
2026-08-08T19:19:26.8440555Z hint:
2026-08-08T19:19:26.8441738Z hint: Disable this message with "git config set advice.defaultBranchName false"
2026-08-08T19:19:26.8443758Z Initialized empty Git repository in /home/runner/work/FinanceManager/FinanceManager/.git/
2026-08-08T19:19:26.8447123Z [command]/usr/bin/git remote add origin https://github.com/Gamexgit/FinanceManager
2026-08-08T19:19:26.8494092Z ##[endgroup]
2026-08-08T19:19:26.8496080Z ##[group]Disabling automatic garbage collection
2026-08-08T19:19:26.8497984Z [command]/usr/bin/git config --local gc.auto 0
2026-08-08T19:19:26.8506340Z ##[endgroup]
2026-08-08T19:19:26.8508365Z ##[group]Setting up auth
2026-08-08T19:19:26.8509773Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-08-08T19:19:26.8514566Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
2026-08-08T19:19:26.8536255Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-08-08T19:19:26.8542414Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :"
2026-08-08T19:19:26.8554572Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-08-08T19:19:26.8710894Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-08-08T19:19:26.8997842Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic ***
2026-08-08T19:19:26.9028614Z ##[endgroup]
2026-08-08T19:19:26.9030426Z ##[group]Fetching the repository
2026-08-08T19:19:26.9035536Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +29375c19a23023cc92aae98d7f3c56b59ae72b29:refs/remotes/pull/45/merge
2026-08-08T19:19:27.4667468Z From https://github.com/Gamexgit/FinanceManager
2026-08-08T19:19:27.4671531Z  * [new ref]         29375c19a23023cc92aae98d7f3c56b59ae72b29 -> pull/45/merge
2026-08-08T19:19:27.4715374Z ##[endgroup]
2026-08-08T19:19:27.4717565Z ##[group]Determining the checkout info
2026-08-08T19:19:27.4720289Z ##[endgroup]
2026-08-08T19:19:27.4731118Z [command]/usr/bin/git sparse-checkout disable
2026-08-08T19:19:27.4775038Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig
2026-08-08T19:19:27.4819325Z ##[group]Checking out the ref
2026-08-08T19:19:27.4822958Z [command]/usr/bin/git checkout --progress --force refs/remotes/pull/45/merge
2026-08-08T19:19:27.5329354Z Note: switching to 'refs/remotes/pull/45/merge'.
2026-08-08T19:19:27.5330835Z 
2026-08-08T19:19:27.5350397Z You are in 'detached HEAD' state. You can look around, make experimental
2026-08-08T19:19:27.5358720Z changes and commit them, and you can discard any commits you make in this
2026-08-08T19:19:27.5361273Z state without impacting any branches by switching back to a branch.
2026-08-08T19:19:27.5366441Z 
2026-08-08T19:19:27.5367893Z If you want to create a new branch to retain commits you create, you may
2026-08-08T19:19:27.5370203Z do so (now or later) by using -c with the switch command. Example:
2026-08-08T19:19:27.5371602Z 
2026-08-08T19:19:27.5372375Z   git switch -c <new-branch-name>
2026-08-08T19:19:27.5373469Z 
2026-08-08T19:19:27.5374386Z Or undo this operation with:
2026-08-08T19:19:27.5375631Z 
2026-08-08T19:19:27.5376411Z   git switch -
2026-08-08T19:19:27.5377994Z 
2026-08-08T19:19:27.5379225Z Turn off this advice by setting config variable advice.detachedHead to false
2026-08-08T19:19:27.5380794Z 
2026-08-08T19:19:27.5382442Z HEAD is now at 29375c1 Merge fc61b2315ce6c84101999afdba38a40b2bd82e77 into a9609cecbda474355f02a20a286214195cad1df3
2026-08-08T19:19:27.5388445Z ##[endgroup]
2026-08-08T19:19:27.5399533Z [command]/usr/bin/git log -1 --format=%H
2026-08-08T19:19:27.5430966Z 29375c19a23023cc92aae98d7f3c56b59ae72b29
2026-08-08T19:19:27.5791756Z Node 20 is being deprecated. This workflow is running with Node 24 by default. If you need to temporarily use Node 20, you can set the ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true environment variable. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
2026-08-08T19:19:27.5795306Z ##[group]Run actions/setup-node@v4
2026-08-08T19:19:27.5796242Z with:
2026-08-08T19:19:27.5797199Z   node-version: 22
2026-08-08T19:19:27.5798015Z   cache: npm
2026-08-08T19:19:27.5798906Z   cache-dependency-path: frontend/package-lock.json
2026-08-08T19:19:27.5799945Z   always-auth: false
2026-08-08T19:19:27.5800803Z   check-latest: false
2026-08-08T19:19:27.5805686Z   token: ***
2026-08-08T19:19:27.5806506Z ##[endgroup]
2026-08-08T19:19:27.7551714Z (node:2022) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
2026-08-08T19:19:27.7567702Z (Use `node --trace-deprecation ...` to show where the warning was created)
2026-08-08T19:19:27.7642214Z Found in cache @ /opt/hostedtoolcache/node/22.23.1/x64
2026-08-08T19:19:27.7679349Z ##[group]Environment details
2026-08-08T19:19:28.3148025Z node: v22.23.1
2026-08-08T19:19:28.3154153Z npm: 10.9.8
2026-08-08T19:19:28.3155508Z yarn: 1.22.22
2026-08-08T19:19:28.3157848Z ##[endgroup]
2026-08-08T19:19:28.3209456Z [command]/opt/hostedtoolcache/node/22.23.1/x64/bin/npm config get cache
2026-08-08T19:19:28.4375872Z /home/runner/.npm
2026-08-08T19:19:28.5143050Z npm cache is not found
2026-08-08T19:19:28.5332938Z ##[group]Run npm ci
2026-08-08T19:19:28.5333640Z [36;1mnpm ci[0m
2026-08-08T19:19:28.5392980Z shell: /usr/bin/bash -e {0}
2026-08-08T19:19:28.5393706Z ##[endgroup]
2026-08-08T19:19:33.3619227Z npm warn deprecated glob@10.5.0: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
2026-08-08T19:19:35.8214351Z 
2026-08-08T19:19:35.8258277Z added 305 packages, and audited 306 packages in 7s
2026-08-08T19:19:35.8277336Z 
2026-08-08T19:19:35.8318028Z 74 packages are looking for funding
2026-08-08T19:19:35.8327843Z   run `npm fund` for details
2026-08-08T19:19:35.8347373Z 
2026-08-08T19:19:35.8377964Z 4 vulnerabilities (1 moderate, 3 high)
2026-08-08T19:19:35.8378473Z 
2026-08-08T19:19:35.8416102Z To address issues that do not require attention, run:
2026-08-08T19:19:35.8437809Z   npm audit fix
2026-08-08T19:19:35.8477413Z 
2026-08-08T19:19:35.8497835Z To address all issues, run:
2026-08-08T19:19:35.8537737Z   npm audit fix --force
2026-08-08T19:19:35.8557376Z 
2026-08-08T19:19:35.8617739Z Run `npm audit` for details.
2026-08-08T19:19:35.9132466Z ##[group]Run npm test
2026-08-08T19:19:35.9132943Z [36;1mnpm test[0m
2026-08-08T19:19:35.9192912Z shell: /usr/bin/bash -e {0}
2026-08-08T19:19:35.9193348Z ##[endgroup]
2026-08-08T19:19:36.0717664Z 
2026-08-08T19:19:36.0738342Z > jarvis-finance-dashboard-vue@0.0.0 test
2026-08-08T19:19:36.0740043Z > vitest run --environment jsdom
2026-08-08T19:19:36.0754915Z 
2026-08-08T19:19:36.9676586Z 
2026-08-08T19:19:36.9699232Z [1m[30m[46m RUN [49m[39m[22m [36mv4.1.6 [39m[90m/home/runner/work/FinanceManager/FinanceManager/frontend[39m
2026-08-08T19:19:36.9700416Z 
2026-08-08T19:19:43.8570619Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mrenders the canonical visual cockpit with reconciled KPIs, charts and drill-downs
2026-08-08T19:19:43.8588513Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:43.8648451Z   at <HouseholdTabs> 
2026-08-08T19:19:43.8668096Z   at <HouseholdOverviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:43.8687834Z   at <VTUROOT>
2026-08-08T19:19:43.8707725Z 
2026-08-08T19:19:44.3233450Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mexposes preset selection state and submits stable account IDs while displaying account names
2026-08-08T19:19:44.3258120Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:44.3259183Z   at <HouseholdTabs> 
2026-08-08T19:19:44.3286725Z   at <HouseholdOverviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:44.3299965Z   at <VTUROOT>
2026-08-08T19:19:44.3300616Z 
2026-08-08T19:19:44.7011499Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mcommits only the latest filter request when responses resolve out of order
2026-08-08T19:19:44.7038765Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:44.7039962Z   at <HouseholdTabs> 
2026-08-08T19:19:44.7055923Z   at <HouseholdOverviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:44.7057202Z   at <VTUROOT>
2026-08-08T19:19:44.7077450Z 
2026-08-08T19:19:45.0119811Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mrenders comparison none neutrally without fabricated KPI, category or chart deltas
2026-08-08T19:19:45.0175196Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:45.0177218Z   at <HouseholdTabs> 
2026-08-08T19:19:45.0197753Z   at <HouseholdOverviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:45.0207478Z   at <VTUROOT>
2026-08-08T19:19:45.0247340Z 
2026-08-08T19:19:45.0502112Z  [32m✓[39m src/components/performance/PortfolioPerformancePanel.test.ts [2m([22m[2m19 tests[22m[2m)[22m[33m 3796[2mms[22m[39m
2026-08-08T19:19:45.0548664Z      [33m[2m✓[22m[39m shows the five simple metrics and only one compact setup status [33m 581[2mms[22m[39m
2026-08-08T19:19:45.0568945Z      [33m[2m✓[22m[39m keeps setup collapsed and renders the True Wealth model as provisional without raw JSON [33m 318[2mms[22m[39m
2026-08-08T19:19:45.2207394Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mrenders account-filtered budget scope as unavailable without progress or status claims
2026-08-08T19:19:45.2228146Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:45.2247665Z   at <HouseholdTabs> 
2026-08-08T19:19:45.2267817Z   at <HouseholdOverviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:45.2268738Z   at <VTUROOT>
2026-08-08T19:19:45.2287624Z 
2026-08-08T19:19:45.3808349Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2muses truthful empty states and does not mount an empty category chart
2026-08-08T19:19:45.3825773Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:45.3867765Z   at <HouseholdTabs> 
2026-08-08T19:19:45.3868816Z   at <HouseholdOverviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:45.3908243Z   at <VTUROOT>
2026-08-08T19:19:45.3927421Z 
2026-08-08T19:19:45.5569821Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mpersists the shared period, comparison and account filters in the URL
2026-08-08T19:19:45.5649016Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:45.5657535Z   at <HouseholdTabs> 
2026-08-08T19:19:45.5727858Z   at <HouseholdOverviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:45.5767882Z   at <VTUROOT>
2026-08-08T19:19:45.5827329Z 
2026-08-08T19:19:45.7483805Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mtreats a direct explicit date range as custom instead of relabeling it as the current month
2026-08-08T19:19:45.7508351Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:45.7509463Z   at <HouseholdTabs> 
2026-08-08T19:19:45.7527887Z   at <HouseholdOverviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:45.7547567Z   at <VTUROOT>
2026-08-08T19:19:45.7567415Z 
2026-08-08T19:19:45.9119561Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mshows partial-data and forecast transparency without inventing a result
2026-08-08T19:19:45.9154030Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:45.9178556Z   at <HouseholdTabs> 
2026-08-08T19:19:45.9197813Z   at <HouseholdOverviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:45.9217820Z   at <VTUROOT>
2026-08-08T19:19:45.9237330Z 
2026-08-08T19:19:46.1579928Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2moffers all required transaction filters in a responsive card/list surface
2026-08-08T19:19:46.1678324Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:46.1717608Z   at <HouseholdTabs> 
2026-08-08T19:19:46.1737848Z   at <HouseholdTransactionsPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:46.1757487Z   at <VTUROOT>
2026-08-08T19:19:46.1797274Z 
2026-08-08T19:19:46.3789711Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2minherits custom dates and all selected cockpit accounts in transaction drill-downs
2026-08-08T19:19:46.3808038Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:46.3827486Z   at <HouseholdTabs> 
2026-08-08T19:19:46.3828225Z   at <HouseholdTransactionsPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:46.3847566Z   at <VTUROOT>
2026-08-08T19:19:46.3867239Z 
2026-08-08T19:19:46.5529243Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mrenders stored signed expenses with exactly one semantic minus
2026-08-08T19:19:46.5548253Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:46.5567569Z   at <HouseholdTabs> 
2026-08-08T19:19:46.5568408Z   at <HouseholdTransactionsPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:46.5587609Z   at <VTUROOT>
2026-08-08T19:19:46.5607405Z 
2026-08-08T19:19:46.7014740Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mdistinguishes filtered transaction emptiness from API failures and global emptiness
2026-08-08T19:19:46.7038135Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:46.7057584Z   at <HouseholdTabs> 
2026-08-08T19:19:46.7058595Z   at <HouseholdTransactionsPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:46.7073945Z   at <VTUROOT>
2026-08-08T19:19:46.7097332Z 
2026-08-08T19:19:46.9106217Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mdistinguishes filtered transaction emptiness from API failures and global emptiness
2026-08-08T19:19:46.9154380Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:46.9177647Z   at <HouseholdTabs> 
2026-08-08T19:19:46.9218244Z   at <HouseholdTransactionsPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:46.9237584Z   at <VTUROOT>
2026-08-08T19:19:46.9257255Z 
2026-08-08T19:19:47.1159480Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2muses cursor pagination and keeps the true transaction totals visible
2026-08-08T19:19:47.1178063Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:47.1187855Z   at <HouseholdTabs> 
2026-08-08T19:19:47.1228007Z   at <HouseholdTransactionsPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:47.1228733Z   at <VTUROOT>
2026-08-08T19:19:47.1257207Z 
2026-08-08T19:19:47.2978094Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mrestarts transaction pagination when the server rejects a stale snapshot cursor
2026-08-08T19:19:47.3008027Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:47.3020935Z   at <HouseholdTabs> 
2026-08-08T19:19:47.3065375Z   at <HouseholdTransactionsPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:47.3088810Z   at <VTUROOT>
2026-08-08T19:19:47.3103155Z 
2026-08-08T19:19:47.4659813Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mdoes not rewrite the destination URL when a transaction request resolves after unmount
2026-08-08T19:19:47.4662157Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:47.4697406Z   at <HouseholdTabs> 
2026-08-08T19:19:47.4737217Z   at <HouseholdTransactionsPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:47.4748469Z   at <VTUROOT>
2026-08-08T19:19:47.4790426Z 
2026-08-08T19:19:47.5719779Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mshows review success only for canonical zero and keeps filtered zero distinct
2026-08-08T19:19:47.5722012Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:47.5737585Z   at <HouseholdTabs> 
2026-08-08T19:19:47.5757762Z   at <HouseholdReviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:47.5761928Z   at <VTUROOT>
2026-08-08T19:19:47.5762461Z 
2026-08-08T19:19:47.7725264Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mshows review success only for canonical zero and keeps filtered zero distinct
2026-08-08T19:19:47.7727481Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:47.7728193Z   at <HouseholdTabs> 
2026-08-08T19:19:47.7728751Z   at <HouseholdReviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:47.7729331Z   at <VTUROOT>
2026-08-08T19:19:47.7729634Z 
2026-08-08T19:19:47.9013131Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mshows review success only for canonical zero and keeps filtered zero distinct
2026-08-08T19:19:47.9018150Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:47.9020620Z   at <HouseholdTabs> 
2026-08-08T19:19:47.9022374Z   at <HouseholdReviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:47.9023979Z   at <VTUROOT>
2026-08-08T19:19:47.9025222Z 
2026-08-08T19:19:47.9807552Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2muses global review source facets and ignores responses from obsolete filters
2026-08-08T19:19:47.9817610Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:47.9818600Z   at <HouseholdTabs> 
2026-08-08T19:19:47.9819413Z   at <HouseholdReviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:47.9820214Z   at <VTUROOT>
2026-08-08T19:19:47.9820628Z 
2026-08-08T19:19:48.1850297Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mrequests the server-side decision union and restarts a stale review cursor
2026-08-08T19:19:48.1898334Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:48.1907504Z   at <HouseholdTabs> 
2026-08-08T19:19:48.1948095Z   at <HouseholdReviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:48.1957604Z   at <VTUROOT>
2026-08-08T19:19:48.1987325Z 
2026-08-08T19:19:48.3447752Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mhonors confirmability and offers only amount-compatible categories
2026-08-08T19:19:48.3468059Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:48.3469134Z   at <HouseholdTabs> 
2026-08-08T19:19:48.3470116Z   at <HouseholdReviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:48.3470981Z   at <VTUROOT>
2026-08-08T19:19:48.3471472Z 
2026-08-08T19:19:48.5989560Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2muses the compact smart inbox and fingerprint-bound batch confirmation
2026-08-08T19:19:48.6008244Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:48.6027597Z   at <HouseholdTabs> 
2026-08-08T19:19:48.6028241Z   at <HouseholdReviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:48.6067655Z   at <VTUROOT>
2026-08-08T19:19:48.6087402Z 
2026-08-08T19:19:48.8762104Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mnever submits selected rows hidden by the active tab or filters
2026-08-08T19:19:48.8778053Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:48.8894003Z   at <HouseholdTabs> 
2026-08-08T19:19:48.8902202Z   at <HouseholdReviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:48.8917694Z   at <VTUROOT>
2026-08-08T19:19:48.8937222Z 
2026-08-08T19:19:49.0227764Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2muses the human-visible final preview for a single-row confirmation
2026-08-08T19:19:49.0258252Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:49.0288377Z   at <HouseholdTabs> 
2026-08-08T19:19:49.0317817Z   at <HouseholdReviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:49.0357632Z   at <VTUROOT>
2026-08-08T19:19:49.0377777Z 
2026-08-08T19:19:49.2879834Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mchanges a normal review category inline and keeps details contextual and privacy-safe
2026-08-08T19:19:49.2882231Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:49.2897615Z   at <HouseholdTabs> 
2026-08-08T19:19:49.2937729Z   at <HouseholdReviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:49.2977451Z   at <VTUROOT>
2026-08-08T19:19:49.3006092Z 
2026-08-08T19:19:49.6185463Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mbinds duplicate decisions to the loaded review snapshot and preview metadata
2026-08-08T19:19:49.6226288Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:49.6247490Z   at <HouseholdTabs> 
2026-08-08T19:19:49.6248089Z   at <HouseholdReviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:49.6277699Z   at <VTUROOT>
2026-08-08T19:19:49.6319616Z 
2026-08-08T19:19:49.8309477Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mloads excluded duplicates through the audited reopen contract
2026-08-08T19:19:49.8328389Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:49.8347505Z   at <HouseholdTabs> 
2026-08-08T19:19:49.8368575Z   at <HouseholdReviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:49.8369355Z   at <VTUROOT>
2026-08-08T19:19:49.8387271Z 
2026-08-08T19:19:50.0580745Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mreads CSV locally and sends the same input only for fingerprint-bound preview then confirm
2026-08-08T19:19:50.0583201Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:50.0607705Z   at <HouseholdTabs> 
2026-08-08T19:19:50.0617601Z   at <HouseholdImportsPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:50.0627615Z   at <VTUROOT>
2026-08-08T19:19:50.0648330Z 
2026-08-08T19:19:50.2584408Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mcollects inline category drafts and confirms only the applied fingerprints
2026-08-08T19:19:50.2648365Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:50.2667711Z   at <HouseholdTabs> 
2026-08-08T19:19:50.2687653Z   at <HouseholdImportsPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:50.2710153Z   at <VTUROOT>
2026-08-08T19:19:50.2727313Z 
2026-08-08T19:19:50.5603038Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mkeeps the applied preview and local draft when applying decisions fails
2026-08-08T19:19:50.5638250Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:50.5657584Z   at <HouseholdTabs> 
2026-08-08T19:19:50.5675919Z   at <HouseholdImportsPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:50.5717684Z   at <VTUROOT>
2026-08-08T19:19:50.5742797Z 
2026-08-08T19:19:50.8549571Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mrenders explicit draft removals and omits removed applied decisions on Apply
2026-08-08T19:19:50.8568076Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:50.8627725Z   at <HouseholdTabs> 
2026-08-08T19:19:50.8667844Z   at <HouseholdImportsPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:50.8707708Z   at <VTUROOT>
2026-08-08T19:19:50.8721744Z 
2026-08-08T19:19:51.2279638Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mbinds merchant-cluster decisions, row exclusions, unmatched-transfer decisions and business readiness
2026-08-08T19:19:51.2348723Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:51.2417832Z   at <HouseholdTabs> 
2026-08-08T19:19:51.2447694Z   at <HouseholdImportsPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:51.2467520Z   at <VTUROOT>
2026-08-08T19:19:51.2487273Z 
2026-08-08T19:19:51.7801334Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mbuilds one fingerprint-bound request from four replaceable source files
2026-08-08T19:19:51.7847996Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:51.7867470Z   at <HouseholdTabs> 
2026-08-08T19:19:51.7897871Z   at <HouseholdImportsPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:51.7957711Z   at <VTUROOT>
2026-08-08T19:19:51.7981044Z 
2026-08-08T19:19:52.0894394Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mkeeps proposals inspectable and returns excluded cluster outliers to the individual inbox
2026-08-08T19:19:52.0989032Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:52.1017656Z   at <HouseholdTabs> 
2026-08-08T19:19:52.1037916Z   at <HouseholdImportsPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:52.1067608Z   at <VTUROOT>
2026-08-08T19:19:52.1082047Z 
2026-08-08T19:19:52.2454862Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mdiscards an in-flight preview response after its local input binding changes
2026-08-08T19:19:52.2498625Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:52.2499415Z   at <HouseholdTabs> 
2026-08-08T19:19:52.2558108Z   at <HouseholdImportsPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:52.2572544Z   at <VTUROOT>
2026-08-08T19:19:52.2577653Z 
2026-08-08T19:19:52.3719762Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2minvalidates the old confirmable preview as soon as replacement file reading starts
2026-08-08T19:19:52.3740745Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:52.3744040Z   at <HouseholdTabs> 
2026-08-08T19:19:52.3745078Z   at <HouseholdImportsPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:52.3745903Z   at <VTUROOT>
2026-08-08T19:19:52.3747208Z 
2026-08-08T19:19:52.5669577Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mkeeps a failed replacement empty and enforces the aggregate request limit
2026-08-08T19:19:52.5671828Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:52.5687802Z   at <HouseholdTabs> 
2026-08-08T19:19:52.5707793Z   at <HouseholdImportsPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:52.5727540Z   at <VTUROOT>
2026-08-08T19:19:52.5747228Z 
2026-08-08T19:19:52.7448934Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mresets decision pagination after applying a bound category draft
2026-08-08T19:19:52.7468344Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:52.7487617Z   at <HouseholdTabs> 
2026-08-08T19:19:52.7488275Z   at <HouseholdImportsPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:52.7507556Z   at <VTUROOT>
2026-08-08T19:19:52.7527339Z 
2026-08-08T19:19:53.0212806Z [90mstderr[2m | src/pages/HouseholdUx.test.ts[2m > [22m[2mSprint 15 household UX[2m > [22m[2mdiscards a stale file-reader completion after a newer replacement wins
2026-08-08T19:19:53.0215466Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:53.0263631Z   at <HouseholdTabs> 
2026-08-08T19:19:53.0308037Z   at <HouseholdImportsPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:53.0308995Z   at <VTUROOT>
2026-08-08T19:19:53.0367575Z 
2026-08-08T19:19:53.0603483Z  [32m✓[39m src/pages/HouseholdUx.test.ts [2m([22m[2m39 tests[22m[2m)[22m[33m 9836[2mms[22m[39m
2026-08-08T19:19:53.0628908Z      [33m[2m✓[22m[39m renders the canonical visual cockpit with reconciled KPIs, charts and drill-downs [33m 867[2mms[22m[39m
2026-08-08T19:19:53.0658830Z      [33m[2m✓[22m[39m exposes preset selection state and submits stable account IDs while displaying account names [33m 385[2mms[22m[39m
2026-08-08T19:19:53.0677608Z      [33m[2m✓[22m[39m commits only the latest filter request when responses resolve out of order [33m 322[2mms[22m[39m
2026-08-08T19:19:53.0738929Z      [33m[2m✓[22m[39m distinguishes filtered transaction emptiness from API failures and global emptiness [33m 387[2mms[22m[39m
2026-08-08T19:19:53.0778795Z      [33m[2m✓[22m[39m shows review success only for canonical zero and keeps filtered zero distinct [33m 418[2mms[22m[39m
2026-08-08T19:19:53.0829002Z      [33m[2m✓[22m[39m uses the compact smart inbox and fingerprint-bound batch confirmation [33m 374[2mms[22m[39m
2026-08-08T19:19:53.0879614Z      [33m[2m✓[22m[39m changes a normal review category inline and keeps details contextual and privacy-safe [33m 332[2mms[22m[39m
2026-08-08T19:19:53.0930310Z      [33m[2m✓[22m[39m keeps the applied preview and local draft when applying decisions fails [33m 325[2mms[22m[39m
2026-08-08T19:19:53.0959245Z      [33m[2m✓[22m[39m renders explicit draft removals and omits removed applied decisions on Apply [33m 333[2mms[22m[39m
2026-08-08T19:19:53.1029028Z      [33m[2m✓[22m[39m binds merchant-cluster decisions, row exclusions, unmatched-transfer decisions and business readiness [33m 565[2mms[22m[39m
2026-08-08T19:19:53.1068753Z      [33m[2m✓[22m[39m builds one fingerprint-bound request from four replaceable source files [33m 311[2mms[22m[39m
2026-08-08T19:19:53.2409435Z [90mstderr[2m | src/pages/BudgetUxV2.test.ts[2m > [22m[2mBudget UX v2[2m > [22m[2mshows simplified category buckets and merge preview section
2026-08-08T19:19:53.2468512Z [22m[39m[Vue warn]: Failed to resolve component: RouterLink
2026-08-08T19:19:53.2508623Z If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. 
2026-08-08T19:19:53.2527693Z   at <HouseholdTabs> 
2026-08-08T19:19:53.2547794Z   at <BudgetCategoriesPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:53.2587683Z   at <VTUROOT>
2026-08-08T19:19:53.2607466Z 
2026-08-08T19:19:53.3783952Z  [32m✓[39m src/pages/BudgetUxV2.test.ts [2m([22m[2m10 tests[22m[2m)[22m[33m 5024[2mms[22m[39m
2026-08-08T19:19:53.3785924Z      [33m[2m✓[22m[39m shows the four Finance areas without duplicate household deep links [33m 327[2mms[22m[39m
2026-08-08T19:19:53.3813856Z      [33m[2m✓[22m[39m opens confirmed expenses only through the safe transaction-token drawer [33m 1114[2mms[22m[39m
2026-08-08T19:19:53.3878673Z      [33m[2m✓[22m[39m shows review candidates without technical user-mode fields [33m 1072[2mms[22m[39m
2026-08-08T19:19:53.3928644Z      [33m[2m✓[22m[39m uses ConfirmDialog and success Toast for risky review confirm actions [33m 916[2mms[22m[39m
2026-08-08T19:19:53.3983704Z      [33m[2m✓[22m[39m renders category analysis and links category drilldown to data explorer [33m 589[2mms[22m[39m
2026-08-08T19:19:53.4029188Z      [33m[2m✓[22m[39m keeps budget vs actual separated from import review and based on budget status rows [33m 371[2mms[22m[39m
2026-08-08T19:19:56.5029669Z [90mstderr[2m | src/pages/BudgetPhase1.test.ts[2m > [22m[2mBudget Phase 1 Vue UI[2m > [22m[2mrenders Budget Overview with current month KPIs and latest transactions
2026-08-08T19:19:56.5031661Z [22m[39m[Vue warn]: Failed to resolve component: RouterLink
2026-08-08T19:19:56.5048427Z If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. 
2026-08-08T19:19:56.5077862Z   at <BudgetOverviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:56.5097495Z   at <VTUROOT>
2026-08-08T19:19:56.5097990Z 
2026-08-08T19:19:56.6072309Z [90mstderr[2m | src/pages/BudgetPhase1.test.ts[2m > [22m[2mBudget Phase 1 Vue UI[2m > [22m[2mrenders Budget Overview with current month KPIs and latest transactions
2026-08-08T19:19:56.6074435Z [22m[39m[Vue warn]: Failed to resolve component: RouterLink
2026-08-08T19:19:56.6098452Z If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. 
2026-08-08T19:19:56.6107807Z   at <BudgetOverviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:56.6117633Z   at <VTUROOT>
2026-08-08T19:19:56.6117931Z 
2026-08-08T19:19:57.5262574Z  [32m✓[39m src/pages/CryptoPage.test.ts [2m([22m[2m4 tests[22m[2m)[22m[33m 1207[2mms[22m[39m
2026-08-08T19:19:57.5318722Z      [33m[2m✓[22m[39m auto-loads crypto positions and opens detail drawer from a row click [33m 502[2mms[22m[39m
2026-08-08T19:19:57.5340738Z      [33m[2m✓[22m[39m renders compact sorted allocations, hides weak sparkline history, and opens wallet detail from coin detail [33m 331[2mms[22m[39m
2026-08-08T19:19:57.5441862Z [90mstderr[2m | src/pages/BudgetPhase1.test.ts[2m > [22m[2mBudget Phase 1 Vue UI[2m > [22m[2mrenders transactions workflow and confirms via API after preview summary
2026-08-08T19:19:57.5488471Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:57.5489870Z   at <BudgetTransactionsPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:57.5531869Z   at <VTUROOT>
2026-08-08T19:19:57.5534555Z [Vue warn]: injection "Symbol(router)" not found. 
2026-08-08T19:19:57.5558182Z   at <BudgetTransactionsPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:57.5587795Z   at <VTUROOT>
2026-08-08T19:19:57.5627863Z [Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:57.5668152Z   at <BudgetTransactionsPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:57.5677419Z   at <VTUROOT>
2026-08-08T19:19:57.5707509Z 
2026-08-08T19:19:57.9319802Z [90mstderr[2m | src/pages/BudgetPhase1.test.ts[2m > [22m[2mBudget Phase 1 Vue UI[2m > [22m[2msupports category preview confirm workflows without exposing raw IDs
2026-08-08T19:19:57.9328955Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:57.9377627Z   at <HouseholdTabs> 
2026-08-08T19:19:57.9397806Z   at <BudgetCategoriesPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:57.9437624Z   at <VTUROOT>
2026-08-08T19:19:57.9478277Z [Vue warn]: Failed to resolve component: RouterLink
2026-08-08T19:19:57.9538519Z If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. 
2026-08-08T19:19:57.9556367Z   at <HouseholdTabs> 
2026-08-08T19:19:57.9557683Z   at <BudgetCategoriesPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:57.9582388Z   at <VTUROOT>
2026-08-08T19:19:57.9582887Z 
2026-08-08T19:19:58.0720002Z [90mstderr[2m | src/pages/BudgetPhase1.test.ts[2m > [22m[2mBudget Phase 1 Vue UI[2m > [22m[2mopens the zero-based category chart and month drilldown with a household transaction list
2026-08-08T19:19:58.0722106Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:58.0745574Z   at <HouseholdTabs> 
2026-08-08T19:19:58.0767829Z   at <BudgetStatusPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:58.0768699Z   at <VTUROOT>
2026-08-08T19:19:58.0807374Z 
2026-08-08T19:19:58.1808003Z [90mstderr[2m | src/pages/BudgetPhase1.test.ts[2m > [22m[2mBudget Phase 1 Vue UI[2m > [22m[2mkeeps zero months at zero and omits the budget line when a category is not budgeted
2026-08-08T19:19:58.1828168Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:19:58.1829301Z   at <HouseholdTabs> 
2026-08-08T19:19:58.1847835Z   at <BudgetStatusPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:58.1867620Z   at <VTUROOT>
2026-08-08T19:19:58.1887835Z [Vue warn]: Failed to resolve component: RouterLink
2026-08-08T19:19:58.1908250Z If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. 
2026-08-08T19:19:58.1909400Z   at <HouseholdTabs> 
2026-08-08T19:19:58.1926298Z   at <BudgetStatusPage ref="VTU_COMPONENT" > 
2026-08-08T19:19:58.1967635Z   at <VTUROOT>
2026-08-08T19:19:58.1971917Z 
2026-08-08T19:19:58.2082286Z  [32m✓[39m src/pages/BudgetPhase1.test.ts [2m([22m[2m6 tests[22m[2m)[22m[33m 2565[2mms[22m[39m
2026-08-08T19:19:58.2129136Z      [33m[2m✓[22m[39m keeps Budget inside the consolidated Household navigation instead of a duplicate sidebar entry [33m 319[2mms[22m[39m
2026-08-08T19:19:58.2168595Z      [33m[2m✓[22m[39m renders Budget Overview with current month KPIs and latest transactions [33m 935[2mms[22m[39m
2026-08-08T19:19:58.2198598Z      [33m[2m✓[22m[39m renders transactions workflow and confirms via API after preview summary [33m 936[2mms[22m[39m
2026-08-08T19:20:00.7429261Z  [32m✓[39m src/components/portfolio-data/DataIngestionReconciliationPanel.test.ts [2m([22m[2m4 tests[22m[2m)[22m[33m 900[2mms[22m[39m
2026-08-08T19:20:00.7503884Z      [33m[2m✓[22m[39m separates missing data, mismatches and total-value accounts without invented holdings [33m 349[2mms[22m[39m
2026-08-08T19:20:01.3689972Z [90mstderr[2m | src/pages/BudgetAnalyticsDashboardV2.test.ts[2m > [22m[2mBudget Analytics & Dashboard v2[2m > [22m[2mrenders Budget Übersicht as monthly cockpit, not category status table
2026-08-08T19:20:01.3697987Z [22m[39m[Vue warn]: Failed to resolve component: RouterLink
2026-08-08T19:20:01.3728410Z If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. 
2026-08-08T19:20:01.3752882Z   at <BudgetOverviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:01.3777554Z   at <VTUROOT>
2026-08-08T19:20:01.3778055Z 
2026-08-08T19:20:01.4803319Z [90mstderr[2m | src/pages/BudgetAnalyticsDashboardV2.test.ts[2m > [22m[2mBudget Analytics & Dashboard v2[2m > [22m[2mrenders Budget Übersicht as monthly cockpit, not category status table
2026-08-08T19:20:01.4817997Z [22m[39m[Vue warn]: Failed to resolve component: RouterLink
2026-08-08T19:20:01.4838369Z If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. 
2026-08-08T19:20:01.4839628Z   at <BudgetOverviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:01.4857507Z   at <VTUROOT>
2026-08-08T19:20:01.4857786Z 
2026-08-08T19:20:02.2340815Z [90mstderr[2m | src/pages/BudgetAnalyticsDashboardV2.test.ts[2m > [22m[2mBudget Analytics & Dashboard v2[2m > [22m[2mshows financial quality warnings instead of presenting partial zeroes as complete
2026-08-08T19:20:02.2421125Z [22m[39m[Vue warn]: Failed to resolve component: RouterLink
2026-08-08T19:20:02.2468531Z If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. 
2026-08-08T19:20:02.2517904Z   at <BudgetOverviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:02.2567879Z   at <VTUROOT>
2026-08-08T19:20:02.2617355Z 
2026-08-08T19:20:02.3328466Z [90mstderr[2m | src/pages/BudgetAnalyticsDashboardV2.test.ts[2m > [22m[2mBudget Analytics & Dashboard v2[2m > [22m[2mshows financial quality warnings instead of presenting partial zeroes as complete
2026-08-08T19:20:02.3347941Z [22m[39m[Vue warn]: Failed to resolve component: RouterLink
2026-08-08T19:20:02.3368488Z If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. 
2026-08-08T19:20:02.3397714Z   at <BudgetOverviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:02.3408221Z   at <VTUROOT>
2026-08-08T19:20:02.3427695Z [Vue warn]: Failed to resolve component: RouterLink
2026-08-08T19:20:02.3448201Z If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. 
2026-08-08T19:20:02.3526425Z   at <BudgetOverviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:02.3561489Z   at <VTUROOT>
2026-08-08T19:20:02.3587394Z 
2026-08-08T19:20:02.3649567Z [90mstderr[2m | src/pages/BudgetAnalyticsDashboardV2.test.ts[2m > [22m[2mBudget Analytics & Dashboard v2[2m > [22m[2mshows financial quality warnings instead of presenting partial zeroes as complete
2026-08-08T19:20:02.3655259Z [22m[39mFailed to create chart: can't acquire context from the given item
2026-08-08T19:20:02.3692056Z 
2026-08-08T19:20:02.9349998Z [90mstderr[2m | src/pages/BudgetAnalyticsDashboardV2.test.ts[2m > [22m[2mBudget Analytics & Dashboard v2[2m > [22m[2mshows financial quality warnings instead of presenting partial zeroes as complete
2026-08-08T19:20:02.9378942Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:20:02.9467895Z   at <HouseholdTabs> 
2026-08-08T19:20:02.9494828Z   at <BudgetStatusPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:02.9547739Z   at <VTUROOT>
2026-08-08T19:20:02.9565870Z [Vue warn]: Failed to resolve component: RouterLink
2026-08-08T19:20:02.9604216Z If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. 
2026-08-08T19:20:02.9677759Z   at <HouseholdTabs> 
2026-08-08T19:20:02.9697958Z   at <BudgetStatusPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:02.9737712Z   at <VTUROOT>
2026-08-08T19:20:02.9757543Z 
2026-08-08T19:20:03.1290309Z [90mstderr[2m | src/pages/BudgetAnalyticsDashboardV2.test.ts[2m > [22m[2mBudget Analytics & Dashboard v2[2m > [22m[2mrenders Budgetstatus as operational category control with row-click monthly chart
2026-08-08T19:20:03.1316100Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:20:03.1317404Z   at <HouseholdTabs> 
2026-08-08T19:20:03.1357816Z   at <BudgetStatusPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:03.1358671Z   at <VTUROOT>
2026-08-08T19:20:03.1377690Z [Vue warn]: Failed to resolve component: RouterLink
2026-08-08T19:20:03.1379172Z If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. 
2026-08-08T19:20:03.1380261Z   at <HouseholdTabs> 
2026-08-08T19:20:03.1380810Z   at <BudgetStatusPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:03.1381385Z   at <VTUROOT>
2026-08-08T19:20:03.1381610Z 
2026-08-08T19:20:03.6826066Z  [32m✓[39m src/pages/BudgetAnalyticsDashboardV2.test.ts [2m([22m[2m4 tests[22m[2m)[22m[33m 2998[2mms[22m[39m
2026-08-08T19:20:03.6849213Z      [33m[2m✓[22m[39m renders Budget Übersicht as monthly cockpit, not category status table [33m 1086[2mms[22m[39m
2026-08-08T19:20:03.6889422Z      [33m[2m✓[22m[39m shows financial quality warnings instead of presenting partial zeroes as complete [33m 1283[2mms[22m[39m
2026-08-08T19:20:03.6891948Z      [33m[2m✓[22m[39m renders Budget vs Ist as analysis page with distinct charts and top deviations [33m 490[2mms[22m[39m
2026-08-08T19:20:04.8913599Z  [32m✓[39m src/pages/VueCockpitV11.test.ts [2m([22m[2m6 tests[22m[2m)[22m[33m 1255[2mms[22m[39m
2026-08-08T19:20:04.8945918Z      [33m[2m✓[22m[39m supports equity search, visible Zusammenfassung prüfen review and final confirm [33m 327[2mms[22m[39m
2026-08-08T19:20:04.8968732Z      [33m[2m✓[22m[39m opens equity detail drawer with explicit market-data controls and no unfinished trading actions [33m 467[2mms[22m[39m
2026-08-08T19:20:07.8372880Z [90mstderr[2m | src/pages/BudgetImportProductionV2.test.ts[2m > [22m[2mBudget Import Production v2 review UI[2m > [22m[2mshows source-aware review tabs and candidate type actions
2026-08-08T19:20:07.8378277Z [22m[39m[Vue warn]: injection "Symbol(router)" not found. 
2026-08-08T19:20:07.8397914Z   at <BudgetImportReviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:07.8417614Z   at <VTUROOT>
2026-08-08T19:20:07.8432734Z [Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:20:07.8507359Z   at <BudgetImportReviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:07.8529108Z   at <VTUROOT>
2026-08-08T19:20:07.8547297Z 
2026-08-08T19:20:08.5389572Z  [32m✓[39m src/pages/PortfolioPage.test.ts [2m([22m[2m4 tests[22m[2m)[22m[33m 933[2mms[22m[39m
2026-08-08T19:20:08.5419079Z      [33m[2m✓[22m[39m shows six understandable metrics, separated flows, distribution, policy and planning without trading UI [33m 440[2mms[22m[39m
2026-08-08T19:20:09.1881132Z [90mstderr[2m | src/pages/BudgetImportProductionV2.test.ts[2m > [22m[2mBudget Import Production v2 review UI[2m > [22m[2mmarks a candidate as credit card payment through audited type action
2026-08-08T19:20:09.1898381Z [22m[39m[Vue warn]: injection "Symbol(router)" not found. 
2026-08-08T19:20:09.1917867Z   at <BudgetImportReviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:09.1937703Z   at <VTUROOT>
2026-08-08T19:20:09.1938810Z [Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:20:09.1957853Z   at <BudgetImportReviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:09.1977592Z   at <VTUROOT>
2026-08-08T19:20:09.1997250Z 
2026-08-08T19:20:10.2908230Z [90mstderr[2m | src/pages/BudgetImportProductionV2.test.ts[2m > [22m[2mBudget Import Production v2 review UI[2m > [22m[2mshows bulk toolbar state, applies category to selected candidates, and keeps partial feedback visible
2026-08-08T19:20:10.2919559Z [22m[39m[Vue warn]: injection "Symbol(router)" not found. 
2026-08-08T19:20:10.2937873Z   at <BudgetImportReviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:10.2957615Z   at <VTUROOT>
2026-08-08T19:20:10.2977839Z [Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:20:10.2978905Z   at <BudgetImportReviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:10.2997627Z   at <VTUROOT>
2026-08-08T19:20:10.3017461Z 
2026-08-08T19:20:11.6180386Z [90mstderr[2m | src/pages/BudgetImportProductionV2.test.ts[2m > [22m[2mBudget Import Production v2 review UI[2m > [22m[2mopens bulk confirm preview dialog and disables final confirm when blockers exist
2026-08-08T19:20:11.6198072Z [22m[39m[Vue warn]: injection "Symbol(router)" not found. 
2026-08-08T19:20:11.6217713Z   at <BudgetImportReviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:11.6223993Z   at <VTUROOT>
2026-08-08T19:20:11.6246806Z [Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:20:11.6264561Z   at <BudgetImportReviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:11.6267539Z   at <VTUROOT>
2026-08-08T19:20:11.6295415Z 
2026-08-08T19:20:12.3355628Z  [32m✓[39m src/pages/BudgetIncomePage.test.ts [2m([22m[2m6 tests[22m[2m)[22m[33m 1418[2mms[22m[39m
2026-08-08T19:20:12.3368857Z      [33m[2m✓[22m[39m shows tabs, household summary, empty editable ERNE template and mobile cards [33m 394[2mms[22m[39m
2026-08-08T19:20:12.7885495Z [90mstderr[2m | src/pages/BudgetImportProductionV2.test.ts[2m > [22m[2mBudget Import Production v2 review UI[2m > [22m[2mkeeps duplicate candidates out of normal confirm actions and shows duplicate review actions only
2026-08-08T19:20:12.7898183Z [22m[39m[Vue warn]: injection "Symbol(router)" not found. 
2026-08-08T19:20:12.7961414Z   at <BudgetImportReviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:12.7967954Z   at <VTUROOT>
2026-08-08T19:20:12.8028078Z [Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:20:12.8067789Z   at <BudgetImportReviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:12.8068674Z   at <VTUROOT>
2026-08-08T19:20:12.8107272Z 
2026-08-08T19:20:13.9029888Z [90mstderr[2m | src/pages/BudgetImportProductionV2.test.ts[2m > [22m[2mBudget Import Production v2 review UI[2m > [22m[2mrequires a reason and calls the duplicate override endpoint explicitly
2026-08-08T19:20:13.9038616Z [22m[39m[Vue warn]: injection "Symbol(router)" not found. 
2026-08-08T19:20:13.9057852Z   at <BudgetImportReviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:13.9058498Z   at <VTUROOT>
2026-08-08T19:20:13.9059138Z [Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:20:13.9059949Z   at <BudgetImportReviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:13.9060541Z   at <VTUROOT>
2026-08-08T19:20:13.9060778Z 
2026-08-08T19:20:15.4370701Z  [32m✓[39m src/pages/PositionAddPage.test.ts [2m([22m[2m5 tests[22m[2m)[22m[33m 1010[2mms[22m[39m
2026-08-08T19:20:15.4438860Z      [33m[2m✓[22m[39m renders a clear seven-step PrimeVue-style wizard shell before provider actions [33m 414[2mms[22m[39m
2026-08-08T19:20:15.5169841Z [90mstderr[2m | src/pages/BudgetImportProductionV2.test.ts[2m > [22m[2mBudget Import Production v2 review UI[2m > [22m[2mrenders both sides as one transfer pair and confirms only the pair contract
2026-08-08T19:20:15.5188313Z [22m[39m[Vue warn]: injection "Symbol(router)" not found. 
2026-08-08T19:20:15.5198068Z   at <BudgetImportReviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:15.5207747Z   at <VTUROOT>
2026-08-08T19:20:15.5228077Z [Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:20:15.5247884Z   at <BudgetImportReviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:15.5267728Z   at <VTUROOT>
2026-08-08T19:20:15.5268292Z 
2026-08-08T19:20:16.0748037Z  [32m✓[39m src/pages/BudgetImportProductionV2.test.ts [2m([22m[2m7 tests[22m[2m)[22m[33m 9767[2mms[22m[39m
2026-08-08T19:20:16.0794476Z      [33m[2m✓[22m[39m shows source-aware review tabs and candidate type actions [33m 1950[2mms[22m[39m
2026-08-08T19:20:16.0808584Z      [33m[2m✓[22m[39m marks a candidate as credit card payment through audited type action [33m 1296[2mms[22m[39m
2026-08-08T19:20:16.0828746Z      [33m[2m✓[22m[39m shows bulk toolbar state, applies category to selected candidates, and keeps partial feedback visible [33m 1356[2mms[22m[39m
2026-08-08T19:20:16.0848332Z      [33m[2m✓[22m[39m opens bulk confirm preview dialog and disables final confirm when blockers exist [33m 1270[2mms[22m[39m
2026-08-08T19:20:16.0850495Z      [33m[2m✓[22m[39m keeps duplicate candidates out of normal confirm actions and shows duplicate review actions only [33m 1106[2mms[22m[39m
2026-08-08T19:20:16.0868362Z      [33m[2m✓[22m[39m requires a reason and calls the duplicate override endpoint explicitly [33m 1545[2mms[22m[39m
2026-08-08T19:20:16.0885523Z      [33m[2m✓[22m[39m renders both sides as one transfer pair and confirms only the pair contract [33m 1240[2mms[22m[39m
2026-08-08T19:20:18.6893364Z  [32m✓[39m src/pages/BudgetPlanningPage.test.ts [2m([22m[2m5 tests[22m[2m)[22m[33m 1035[2mms[22m[39m
2026-08-08T19:20:18.6958520Z      [33m[2m✓[22m[39m uses 2025 by default and distinguishes missing from confirmed zero [33m 473[2mms[22m[39m
2026-08-08T19:20:19.1814170Z  [32m✓[39m src/components/policy/PortfolioPolicyManager.test.ts [2m([22m[2m5 tests[22m[2m)[22m[33m 904[2mms[22m[39m
2026-08-08T19:20:19.1838370Z      [33m[2m✓[22m[39m forwards preview identifiers and the displayed payload unchanged [33m 384[2mms[22m[39m
2026-08-08T19:20:21.8261016Z  [32m✓[39m src/pages/CashTrueWealthManagement.test.ts [2m([22m[2m3 tests[22m[2m)[22m[33m 807[2mms[22m[39m
2026-08-08T19:20:21.8264151Z      [33m[2m✓[22m[39m shows cash summary columns balance mode manual calculated used difference and history without raw ids [33m 452[2mms[22m[39m
2026-08-08T19:20:22.6397553Z [90mstderr[2m | src/pages/MobileUx.test.ts[2m > [22m[2mVue mobile UX v1[2m > [22m[2muses mobile-safe layout shell padding and bottom nav space
2026-08-08T19:20:22.6418530Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:20:22.6437847Z   at <AppLayout ref="VTU_COMPONENT" > 
2026-08-08T19:20:22.6457539Z   at <VTUROOT>
2026-08-08T19:20:22.6477237Z 
2026-08-08T19:20:22.7809538Z [90mstderr[2m | src/pages/MobileUx.test.ts[2m > [22m[2mVue mobile UX v1[2m > [22m[2mrenders Budgetstatus mobile cards without long decimals or technical IDs
2026-08-08T19:20:22.7847988Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:20:22.7877845Z   at <HouseholdTabs> 
2026-08-08T19:20:22.7897658Z   at <BudgetStatusPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:22.7917323Z   at <VTUROOT>
2026-08-08T19:20:22.7917944Z [Vue warn]: Failed to resolve component: RouterLink
2026-08-08T19:20:22.7938115Z If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. 
2026-08-08T19:20:22.7947502Z   at <HouseholdTabs> 
2026-08-08T19:20:22.7977577Z   at <BudgetStatusPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:22.7997484Z   at <VTUROOT>
2026-08-08T19:20:22.8027232Z 
2026-08-08T19:20:23.4900965Z [90mstderr[2m | src/pages/MobileUx.test.ts[2m > [22m[2mVue mobile UX v1[2m > [22m[2mrenders mobile expense cards and non-clickable coming-soon receipt hints
2026-08-08T19:20:23.4918193Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:20:23.4937638Z   at <BudgetTransactionsPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:23.4966713Z   at <VTUROOT>
2026-08-08T19:20:23.4997664Z [Vue warn]: injection "Symbol(router)" not found. 
2026-08-08T19:20:23.4998889Z   at <BudgetTransactionsPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:23.5017505Z   at <VTUROOT>
2026-08-08T19:20:23.5047745Z [Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:20:23.5048595Z   at <BudgetTransactionsPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:23.5067458Z   at <VTUROOT>
2026-08-08T19:20:23.5127381Z 
2026-08-08T19:20:23.9246378Z  [32m✓[39m src/pages/MobileUx.test.ts [2m([22m[2m5 tests[22m[2m)[22m[33m 1837[2mms[22m[39m
2026-08-08T19:20:23.9269701Z      [33m[2m✓[22m[39m uses mobile-safe layout shell padding and bottom nav space [33m 345[2mms[22m[39m
2026-08-08T19:20:23.9328460Z      [33m[2m✓[22m[39m renders mobile expense cards and non-clickable coming-soon receipt hints [33m 865[2mms[22m[39m
2026-08-08T19:20:25.8302121Z  [32m✓[39m src/pages/EquitySprint11.test.ts [2m([22m[2m4 tests[22m[2m)[22m[33m 1511[2mms[22m[39m
2026-08-08T19:20:25.8368822Z      [33m[2m✓[22m[39m shows all 22 positions, honest partial value and all 14 missing rows without provider calls on render [33m 588[2mms[22m[39m
2026-08-08T19:20:25.8388747Z      [33m[2m✓[22m[39m separates view reload, full-refresh dry-run, bound apply and per-position refresh dates [33m 547[2mms[22m[39m
2026-08-08T19:20:27.0668730Z  [32m✓[39m src/pages/BudgetGroceryOptimizerPage.test.ts [2m([22m[2m3 tests[22m[2m)[22m[33m 661[2mms[22m[39m
2026-08-08T19:20:27.0718914Z      [33m[2m✓[22m[39m renders receipt selection product rows optimization and runtime report without medical claims [33m 320[2mms[22m[39m
2026-08-08T19:20:28.8841152Z  [32m✓[39m src/pages/ReadOnlySurfaces.test.ts [2m([22m[2m4 tests[22m[2m)[22m[33m 845[2mms[22m[39m
2026-08-08T19:20:28.8858690Z      [33m[2m✓[22m[39m Portfolio page auto-loads the read-only wealth cockpit without trading surfaces [33m 351[2mms[22m[39m
2026-08-08T19:20:30.6950182Z [90mstderr[2m | src/pages/BudgetWorkflowHelpUx.test.ts[2m > [22m[2mBudget Workflow Clarification & Help UX[2m > [22m[2mrenders effective expenses with Geldfluss columns and confirmed-only empty state text
2026-08-08T19:20:30.6957884Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:20:30.6997857Z   at <BudgetTransactionsPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:30.7005667Z   at <VTUROOT>
2026-08-08T19:20:30.7031514Z [Vue warn]: injection "Symbol(router)" not found. 
2026-08-08T19:20:30.7047699Z   at <BudgetTransactionsPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:30.7067529Z   at <VTUROOT>
2026-08-08T19:20:30.7077798Z [Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:20:30.7097771Z   at <BudgetTransactionsPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:30.7107589Z   at <VTUROOT>
2026-08-08T19:20:30.7147237Z 
2026-08-08T19:20:31.3449288Z  [32m✓[39m src/api/household.test.ts [2m([22m[2m4 tests[22m[2m)[22m[32m 17[2mms[22m[39m
2026-08-08T19:20:31.4745149Z [90mstderr[2m | src/pages/BudgetWorkflowHelpUx.test.ts[2m > [22m[2mBudget Workflow Clarification & Help UX[2m > [22m[2mrenders effective expenses with Geldfluss columns and confirmed-only empty state text
2026-08-08T19:20:31.4758328Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:20:31.4777808Z   at <BudgetTransactionsPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:31.4778856Z   at <VTUROOT>
2026-08-08T19:20:31.4797810Z [Vue warn]: injection "Symbol(router)" not found. 
2026-08-08T19:20:31.4817703Z   at <BudgetTransactionsPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:31.4837545Z   at <VTUROOT>
2026-08-08T19:20:31.4838472Z [Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:20:31.4858145Z   at <BudgetTransactionsPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:31.4877529Z   at <VTUROOT>
2026-08-08T19:20:31.4897308Z 
2026-08-08T19:20:32.4190571Z [90mstderr[2m | src/pages/BudgetWorkflowHelpUx.test.ts[2m > [22m[2mBudget Workflow Clarification & Help UX[2m > [22m[2mrenders transfer review explanations including True Wealth target and non-budget effect
2026-08-08T19:20:32.4218313Z [22m[39m[Vue warn]: injection "Symbol(router)" not found. 
2026-08-08T19:20:32.4219881Z   at <BudgetImportReviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:32.4237680Z   at <VTUROOT>
2026-08-08T19:20:32.4257830Z [Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:20:32.4277797Z   at <BudgetImportReviewPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:32.4278721Z   at <VTUROOT>
2026-08-08T19:20:32.4297410Z 
2026-08-08T19:20:32.9879930Z [90mstderr[2m | src/pages/BudgetWorkflowHelpUx.test.ts[2m > [22m[2mBudget Workflow Clarification & Help UX[2m > [22m[2mrenders transfer list with from/to accounts
2026-08-08T19:20:32.9928326Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:20:32.9929067Z   at <HouseholdTabs> 
2026-08-08T19:20:32.9929622Z   at <BudgetTransfersPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:32.9930198Z   at <VTUROOT>
2026-08-08T19:20:32.9930794Z [Vue warn]: Failed to resolve component: RouterLink
2026-08-08T19:20:32.9932184Z If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. 
2026-08-08T19:20:32.9933250Z   at <HouseholdTabs> 
2026-08-08T19:20:32.9933801Z   at <BudgetTransfersPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:32.9934377Z   at <VTUROOT>
2026-08-08T19:20:32.9934596Z 
2026-08-08T19:20:33.2022791Z [90mstderr[2m | src/pages/BudgetWorkflowHelpUx.test.ts[2m > [22m[2mBudget Workflow Clarification & Help UX[2m > [22m[2mcentral help text covers purpose actions exclusions and opens from app shell
2026-08-08T19:20:33.2088348Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:20:33.2132983Z   at <AppLayout ref="VTU_COMPONENT" > 
2026-08-08T19:20:33.2133558Z   at <VTUROOT>
2026-08-08T19:20:33.2155437Z 
2026-08-08T19:20:33.2929166Z  [32m✓[39m src/pages/BudgetWorkflowHelpUx.test.ts [2m([22m[2m5 tests[22m[2m)[22m[33m 3734[2mms[22m[39m
2026-08-08T19:20:33.2968690Z      [33m[2m✓[22m[39m renders effective expenses with Geldfluss columns and confirmed-only empty state text [33m 1795[2mms[22m[39m
2026-08-08T19:20:33.3008703Z      [33m[2m✓[22m[39m renders transfer review explanations including True Wealth target and non-budget effect [33m 1023[2mms[22m[39m
2026-08-08T19:20:33.3063900Z      [33m[2m✓[22m[39m renders transfer list with from/to accounts [33m 439[2mms[22m[39m
2026-08-08T19:20:34.3238768Z  [32m✓[39m src/pages/EquityPageHotfix.test.ts [2m([22m[2m3 tests[22m[2m)[22m[33m 692[2mms[22m[39m
2026-08-08T19:20:34.3242838Z      [33m[2m✓[22m[39m shows separate single equity, TrueWealth and Cash sections without mixing TrueWealth positions [33m 363[2mms[22m[39m
2026-08-08T19:20:35.9717476Z [90mstderr[2m | src/pages/BudgetRecurringPage.test.ts[2m > [22m[2mBudgetRecurringPage Sprint 17D[2m > [22m[2mshows editable candidate semantics and one understandable notice card without raw confidence
2026-08-08T19:20:35.9738222Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:20:35.9747647Z   at <HouseholdTabs> 
2026-08-08T19:20:35.9767857Z   at <BudgetRecurringPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:35.9787503Z   at <VTUROOT>
2026-08-08T19:20:35.9787821Z 
2026-08-08T19:20:36.2199452Z [90mstderr[2m | src/pages/BudgetRecurringPage.test.ts[2m > [22m[2mBudgetRecurringPage Sprint 17D[2m > [22m[2mrecalculates edited cadence immediately and keeps preview separate from confirm
2026-08-08T19:20:36.2238083Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:20:36.2277529Z   at <HouseholdTabs> 
2026-08-08T19:20:36.2297681Z   at <BudgetRecurringPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:36.2337623Z   at <VTUROOT>
2026-08-08T19:20:36.2361994Z 
2026-08-08T19:20:36.2754460Z  [32m✓[39m src/pages/BudgetRecurringPage.test.ts [2m([22m[2m2 tests[22m[2m)[22m[33m 571[2mms[22m[39m
2026-08-08T19:20:36.2809174Z      [33m[2m✓[22m[39m shows editable candidate semantics and one understandable notice card without raw confidence [33m 332[2mms[22m[39m
2026-08-08T19:20:37.8683104Z  [32m✓[39m src/pages/GlobalPrimeVueMigration.test.ts [2m([22m[2m6 tests[22m[2m)[22m[33m 551[2mms[22m[39m
2026-08-08T19:20:37.8689824Z      [33m[2m✓[22m[39m provides reusable shared PrimeVue UI building blocks [33m 539[2mms[22m[39m
2026-08-08T19:20:38.9519933Z  [32m✓[39m src/pages/GroceryMatchingLearningV2.test.ts [2m([22m[2m2 tests[22m[2m)[22m[33m 520[2mms[22m[39m
2026-08-08T19:20:38.9568219Z      [33m[2m✓[22m[39m shows known mappings, cache status and review actions [33m 324[2mms[22m[39m
2026-08-08T19:20:40.2493028Z  [32m✓[39m src/stores/budgetStores.test.ts [2m([22m[2m5 tests[22m[2m)[22m[32m 23[2mms[22m[39m
2026-08-08T19:20:41.9115645Z  [32m✓[39m src/pages/CommandCenter.test.ts [2m([22m[2m4 tests[22m[2m)[22m[33m 783[2mms[22m[39m
2026-08-08T19:20:41.9138557Z      [33m[2m✓[22m[39m renders four compact areas, one household forecast hint and grouped review impact [33m 349[2mms[22m[39m
2026-08-08T19:20:43.7309372Z [90mstderr[2m | src/pages/DataExplorerPage.test.ts[2m > [22m[2mDataExplorerPage[2m > [22m[2mrenders filters, KPI cards and confirmed transaction table
2026-08-08T19:20:43.7311454Z [22m[39m[Vue warn]: injection "Symbol(router)" not found. 
2026-08-08T19:20:43.7327675Z   at <DataExplorerPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:43.7350512Z   at <VTUROOT>
2026-08-08T19:20:43.7367785Z [Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:20:43.7387671Z   at <DataExplorerPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:43.7407437Z   at <VTUROOT>
2026-08-08T19:20:43.7407871Z 
2026-08-08T19:20:44.6130493Z [90mstderr[2m | src/pages/BudgetCategoriesPage.test.ts[2m > [22m[2mBudgetCategoriesPage UX fix[2m > [22m[2mseparates expense and income category tables and hides archived categories from normal rows
2026-08-08T19:20:44.6148067Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:20:44.6157533Z   at <HouseholdTabs> 
2026-08-08T19:20:44.6158157Z   at <BudgetCategoriesPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:44.6158756Z   at <VTUROOT>
2026-08-08T19:20:44.6159358Z [Vue warn]: Failed to resolve component: RouterLink
2026-08-08T19:20:44.6160750Z If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. 
2026-08-08T19:20:44.6161826Z   at <HouseholdTabs> 
2026-08-08T19:20:44.6162386Z   at <BudgetCategoriesPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:44.6162954Z   at <VTUROOT>
2026-08-08T19:20:44.6163183Z 
2026-08-08T19:20:44.8603499Z [90mstderr[2m | src/pages/BudgetCategoriesPage.test.ts[2m > [22m[2mBudgetCategoriesPage UX fix[2m > [22m[2msaves expense and income order separately through typed reorder API
2026-08-08T19:20:44.8779603Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:20:44.8979167Z   at <HouseholdTabs> 
2026-08-08T19:20:44.9048133Z   at <BudgetCategoriesPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:44.9227155Z   at <VTUROOT>
2026-08-08T19:20:44.9267793Z [Vue warn]: Failed to resolve component: RouterLink
2026-08-08T19:20:44.9269208Z If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. 
2026-08-08T19:20:44.9270270Z   at <HouseholdTabs> 
2026-08-08T19:20:44.9270820Z   at <BudgetCategoriesPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:44.9271376Z   at <VTUROOT>
2026-08-08T19:20:44.9271592Z 
2026-08-08T19:20:44.9820913Z [90mstderr[2m | src/pages/BudgetCategoriesPage.test.ts[2m > [22m[2mBudgetCategoriesPage UX fix[2m > [22m[2mkeeps CRUD actions visible without technical ids and uses preview/confirm/audit APIs
2026-08-08T19:20:45.0079586Z [22m[39m[Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:20:45.0081124Z  [32m✓[39m src/pages/BudgetCategoriesPage.test.ts [2m([22m[2m3 tests[22m[2m)[22m[33m 648[2mms[22m[39m
2026-08-08T19:20:45.0098522Z      [33m[2m✓[22m[39m separates expense and income category tables and hides archived categories from normal rows [33m 314[2mms[22m[39m
2026-08-08T19:20:45.0419786Z   at <HouseholdTabs> 
2026-08-08T19:20:45.0427713Z   at <BudgetCategoriesPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:45.0525805Z   at <VTUROOT>
2026-08-08T19:20:45.0529283Z [Vue warn]: Failed to resolve component: RouterLink
2026-08-08T19:20:45.0530689Z If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. 
2026-08-08T19:20:45.0531720Z   at <HouseholdTabs> 
2026-08-08T19:20:45.0532259Z   at <BudgetCategoriesPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:45.0532862Z   at <VTUROOT>
2026-08-08T19:20:45.0533084Z 
2026-08-08T19:20:45.0534447Z [90mstderr[2m | src/pages/DataExplorerPage.test.ts[2m > [22m[2mDataExplorerPage[2m > [22m[2mopens a detail dialog on row click
2026-08-08T19:20:45.0535835Z [22m[39m[Vue warn]: injection "Symbol(router)" not found. 
2026-08-08T19:20:45.0536576Z   at <DataExplorerPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:45.0537528Z   at <VTUROOT>
2026-08-08T19:20:45.0538155Z [Vue warn]: injection "Symbol(route location)" not found. 
2026-08-08T19:20:45.0538896Z   at <DataExplorerPage ref="VTU_COMPONENT" > 
2026-08-08T19:20:45.0539419Z   at <VTUROOT>
2026-08-08T19:20:45.0539614Z 
2026-08-08T19:20:45.3059841Z  [32m✓[39m src/pages/DataExplorerPage.test.ts [2m([22m[2m2 tests[22m[2m)[22m[33m 2622[2mms[22m[39m
2026-08-08T19:20:45.3078725Z      [33m[2m✓[22m[39m renders filters, KPI cards and confirmed transaction table [33m 1644[2mms[22m[39m
2026-08-08T19:20:45.3154555Z      [33m[2m✓[22m[39m opens a detail dialog on row click [33m 976[2mms[22m[39m
2026-08-08T19:20:47.9869240Z  [32m✓[39m src/components/portfolio-data/PortfolioAnalyticsPanel.test.ts [2m([22m[2m4 tests[22m[2m)[22m[33m 835[2mms[22m[39m
2026-08-08T19:20:47.9908824Z      [33m[2m✓[22m[39m shows risk distribution without a second performance or benchmark source [33m 416[2mms[22m[39m
2026-08-08T19:20:48.4467589Z  [32m✓[39m src/pages/BudgetReviewBacklogPage.test.ts [2m([22m[2m1 test[22m[2m)[22m[33m 807[2mms[22m[39m
2026-08-08T19:20:48.4489943Z      [33m[2m✓[22m[39m renders backlog header, workgroups, safe confirm previews and category assignment [33m 805[2mms[22m[39m
2026-08-08T19:20:50.8612036Z  [32m✓[39m src/components/household/TransactionDetailDrawer.test.ts [2m([22m[2m1 test[22m[2m)[22m[33m 765[2mms[22m[39m
2026-08-08T19:20:50.8614442Z      [33m[2m✓[22m[39m stops after an explicit preview and does not confirm automatically [33m 763[2mms[22m[39m
2026-08-08T19:20:51.1828161Z  [32m✓[39m src/pages/GroceryPriceProvidersV1.test.ts [2m([22m[2m2 tests[22m[2m)[22m[33m 495[2mms[22m[39m
2026-08-08T19:20:51.1849750Z      [33m[2m✓[22m[39m keeps Migros Optimizer route available but not prominent in user navigation [33m 307[2mms[22m[39m
2026-08-08T19:20:53.7635633Z  [32m✓[39m src/pages/BudgetImportPage.test.ts [2m([22m[2m2 tests[22m[2m)[22m[33m 667[2mms[22m[39m
2026-08-08T19:20:53.7658767Z      [33m[2m✓[22m[39m renders upload workflow and aggregated dry-run counts without Google Drive as primary flow [33m 345[2mms[22m[39m
2026-08-08T19:20:53.7688506Z      [33m[2m✓[22m[39m shows dry-run result, enables candidate creation, and builds review link with session filters [33m 319[2mms[22m[39m
2026-08-08T19:20:53.9622496Z  [32m✓[39m src/pages/PostFinancePage.test.ts [2m([22m[2m2 tests[22m[2m)[22m[33m 512[2mms[22m[39m
2026-08-08T19:20:53.9669374Z      [33m[2m✓[22m[39m renders separated snapshot, cost basis, cash, ledger and history without technical account identifiers [33m 353[2mms[22m[39m
2026-08-08T19:20:56.4649047Z  [32m✓[39m src/pages/BudgetMonthlyImportPage.test.ts [2m([22m[2m1 test[22m[2m)[22m[33m 495[2mms[22m[39m
2026-08-08T19:20:56.4668989Z      [33m[2m✓[22m[39m renders dashboard, import history and review transition without auto booking [33m 490[2mms[22m[39m
2026-08-08T19:20:56.7584265Z  [32m✓[39m src/components/SystemControls.test.ts [2m([22m[2m3 tests[22m[2m)[22m[33m 523[2mms[22m[39m
2026-08-08T19:20:59.0625463Z  [32m✓[39m src/navigation/UserNavigationSmoke.test.ts [2m([22m[2m4 tests[22m[2m)[22m[33m 336[2mms[22m[39m
2026-08-08T19:21:00.0984271Z  [32m✓[39m src/components/ui/DataQualityBadge.test.ts [2m([22m[2m8 tests[22m[2m)[22m[33m 1154[2mms[22m[39m
2026-08-08T19:21:01.4048919Z  [32m✓[39m src/components/SidebarNav.mobile.test.ts [2m([22m[2m2 tests[22m[2m)[22m[33m 395[2mms[22m[39m
2026-08-08T19:21:02.8026342Z  [32m✓[39m src/pages/BudgetSetupPage.test.ts [2m([22m[2m1 test[22m[2m)[22m[33m 353[2mms[22m[39m
2026-08-08T19:21:02.8138817Z      [33m[2m✓[22m[39m shows seed review sections and user actions without exposing technical ids or source files [33m 350[2mms[22m[39m
2026-08-08T19:21:03.9559155Z  [32m✓[39m src/pages/BudgetCategoryAssignmentA11y.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m 290[2mms[22m[39m
2026-08-08T19:21:05.4290889Z  [32m✓[39m src/pages/ReportsPage.test.ts [2m([22m[2m1 test[22m[2m)[22m[33m 372[2mms[22m[39m
2026-08-08T19:21:05.4345485Z      [33m[2m✓[22m[39m renders report type period format preview generate and existing runtime reports [33m 368[2mms[22m[39m
2026-08-08T19:21:06.6628992Z  [32m✓[39m src/components/charts/MarketChart.test.ts [2m([22m[2m2 tests[22m[2m)[22m[33m 398[2mms[22m[39m
2026-08-08T19:21:08.1379932Z  [32m✓[39m src/components/household/HouseholdNavigation.test.ts [2m([22m[2m2 tests[22m[2m)[22m[33m 366[2mms[22m[39m
2026-08-08T19:21:08.1384781Z      [33m[2m✓[22m[39m offers the simplified primary areas, canonical review badge and management destinations [33m 362[2mms[22m[39m
2026-08-08T19:21:08.9165436Z  [32m✓[39m src/composables/useQueryFilters.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 38[2mms[22m[39m
2026-08-08T19:21:10.3512170Z  [32m✓[39m src/api/client.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 9[2mms[22m[39m
2026-08-08T19:21:11.8669152Z  [32m✓[39m src/components/ui/AvailabilityState.test.ts [2m([22m[2m6 tests[22m[2m)[22m[33m 760[2mms[22m[39m
2026-08-08T19:21:13.2147793Z  [32m✓[39m src/components/policy/PolicyAllocationStatus.test.ts [2m([22m[2m6 tests[22m[2m)[22m[33m 679[2mms[22m[39m
2026-08-08T19:21:15.2109423Z  [32m✓[39m src/App.test.ts [2m([22m[2m1 test[22m[2m)[22m[33m 671[2mms[22m[39m
2026-08-08T19:21:15.2127993Z      [33m[2m✓[22m[39m renders the user dashboard shell [33m 668[2mms[22m[39m
2026-08-08T19:21:15.6449486Z  [32m✓[39m src/utils/formatters.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 48[2mms[22m[39m
2026-08-08T19:21:16.6752461Z  [32m✓[39m src/utils/month.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m 6[2mms[22m[39m
2026-08-08T19:21:16.6827958Z 
2026-08-08T19:21:16.6848196Z [2m Test Files [22m [1m[32m52 passed[39m[22m[90m (52)[39m
2026-08-08T19:21:16.6867840Z [2m      Tests [22m [1m[32m236 passed[39m[22m[90m (236)[39m
2026-08-08T19:21:16.6885936Z [2m   Start at [22m 19:19:36
2026-08-08T19:21:16.6895384Z [2m   Duration [22m 99.69s[2m (transform 8.00s, setup 22.69s, import 12.57s, tests 69.44s, environment 77.93s)[22m
2026-08-08T19:21:16.6908863Z 
2026-08-08T19:21:16.7525469Z ##[group]Run npm run typecheck
2026-08-08T19:21:16.7525797Z [36;1mnpm run typecheck[0m
2026-08-08T19:21:16.7570337Z shell: /usr/bin/bash -e {0}
2026-08-08T19:21:16.7570607Z ##[endgroup]
2026-08-08T19:21:16.8637623Z 
2026-08-08T19:21:16.8639864Z > jarvis-finance-dashboard-vue@0.0.0 typecheck
2026-08-08T19:21:16.8657642Z > vue-tsc -b --pretty false
2026-08-08T19:21:16.8658299Z 
2026-08-08T19:21:30.7702132Z ##[group]Run npm run build
2026-08-08T19:21:30.7702439Z [36;1mnpm run build[0m
2026-08-08T19:21:30.7747083Z shell: /usr/bin/bash -e {0}
2026-08-08T19:21:30.7747353Z ##[endgroup]
2026-08-08T19:21:30.8908084Z 
2026-08-08T19:21:30.8909261Z > jarvis-finance-dashboard-vue@0.0.0 build
2026-08-08T19:21:30.8917828Z > vue-tsc -b && vite build
2026-08-08T19:21:30.8918375Z 
2026-08-08T19:21:44.8141192Z [36mvite v8.0.16 [32mbuilding client environment for production...[36m[39m
2026-08-08T19:21:44.8838770Z [2K
2026-08-08T19:21:48.0533382Z transforming...✓ 420 modules transformed.
2026-08-08T19:21:48.1615110Z rendering chunks...
2026-08-08T19:21:48.3317874Z computing gzip size...
2026-08-08T19:21:48.3510342Z dist/index.html                                        0.59 kB │ gzip:   0.36 kB
2026-08-08T19:21:48.3511632Z dist/assets/primeicons-C6QP2o4f.woff2                 35.14 kB
2026-08-08T19:21:48.3512894Z dist/assets/primeicons-MpK4pl85.ttf                   84.98 kB
2026-08-08T19:21:48.3514269Z dist/assets/primeicons-WjwUDZjB.woff                  85.05 kB
2026-08-08T19:21:48.3515501Z dist/assets/primeicons-DMOk5skT.eot                   85.15 kB
2026-08-08T19:21:48.3517272Z dist/assets/primeicons-Dr5RGzOO.svg                  342.52 kB │ gzip: 108.35 kB
2026-08-08T19:21:48.3521353Z [33m[33m[PLUGIN_TIMINGS] [0mYour build spent significant time in plugins. Here is a breakdown:
2026-08-08T19:21:48.3522863Z dist/assets/BudgetTransactionsPage-K0_Bwkbv.css        0.24 kB │ gzip:   0.17 kB
2026-08-08T19:21:48.3525428Z dist/assets/BudgetAccountsPage-Bfb67xDf.css            0.25 kB │ gzip:   0.16 kB
2026-08-08T19:21:48.3527592Z dist/assets/HouseholdTransactionsPage-C79zP0m0.css     0.45 kB │ gzip:   0.23 kB
2026-08-08T19:21:48.3529274Z dist/assets/ReportsPage-Bqz070Dr.css                   0.50 kB │ gzip:   0.24 kB
2026-08-08T19:21:48.3530875Z dist/assets/BudgetCategoriesPage-CFIWCjg4.css          0.52 kB │ gzip:   0.25 kB
2026-08-08T19:21:48.3532632Z dist/assets/BudgetRulesPage-Cz-qBzD4.css               0.56 kB │ gzip:   0.23 kB
2026-08-08T19:21:48.3534216Z dist/assets/BudgetSetupPage-DnHS5HVt.css               0.64 kB │ gzip:   0.30 kB
2026-08-08T19:21:48.3535895Z dist/assets/BudgetStatusPage-Bq8_1zAC.css              0.83 kB │ gzip:   0.34 kB
2026-08-08T19:21:48.3537804Z dist/assets/BudgetGroceryOptimizerPage-D1ezyO7w.css    0.84 kB │ gzip:   0.32 kB
2026-08-08T19:21:48.3539217Z   - vite:vue (73%)
2026-08-08T19:21:48.3540599Z dist/assets/BudgetRecurringPage-us12xurY.css           0.98 kB │ gzip:   0.39 kB
2026-08-08T19:21:48.3541401Z   - vite:css (21%)
2026-08-08T19:21:48.3542081Z See https://rolldown.rs/options/checks#plugintimings for more details.
2026-08-08T19:21:48.3543684Z dist/assets/TransactionDetailDrawer-Dz2PydsS.css       1.51 kB │ gzip:   0.59 kB
2026-08-08T19:21:48.3544506Z [39m
2026-08-08T19:21:48.3548320Z dist/assets/CommandCenter-BzjjPFCS.css                 2.19 kB │ gzip:   0.67 kB
2026-08-08T19:21:48.3550084Z dist/assets/HouseholdTabs-DmbzK70w.css                 2.94 kB │ gzip:   0.82 kB
2026-08-08T19:21:48.3551663Z dist/assets/HouseholdImportsPage-DUfACw7w.css          3.50 kB │ gzip:   0.74 kB
2026-08-08T19:21:48.3553071Z dist/assets/BudgetPlanningPage-B63Dzj7n.css            5.02 kB │ gzip:   1.34 kB
2026-08-08T19:21:48.3568845Z dist/assets/HouseholdReviewPage-CHri8UIx.css           6.81 kB │ gzip:   1.59 kB
2026-08-08T19:21:48.3570290Z dist/assets/HouseholdOverviewPage-BwjH4dHs.css         7.94 kB │ gzip:   1.84 kB
2026-08-08T19:21:48.3571591Z dist/assets/index-C1JGndwP.css                        60.14 kB │ gzip:  12.63 kB
2026-08-08T19:21:48.3572784Z dist/assets/month-lHxjAWWt.js                          0.11 kB │ gzip:   0.12 kB
2026-08-08T19:21:48.3573984Z dist/assets/runtime-CK4HPqF8.js                        0.14 kB │ gzip:   0.12 kB
2026-08-08T19:21:48.3575190Z dist/assets/cash-pYvIeKxP.js                           0.29 kB │ gzip:   0.21 kB
2026-08-08T19:21:48.3576416Z dist/assets/MoneyValue-DBcWUaL1.js                     0.36 kB │ gzip:   0.28 kB
2026-08-08T19:21:48.3578445Z dist/assets/formatters-Dpi5tjTK.js                     0.70 kB │ gzip:   0.33 kB
2026-08-08T19:21:48.3579748Z dist/assets/ChartPanel-BR_nm58j.js                     0.72 kB │ gzip:   0.45 kB
2026-08-08T19:21:48.3581013Z dist/assets/SectionCard-r01-xCLO.js                    0.73 kB │ gzip:   0.47 kB
2026-08-08T19:21:48.3582309Z dist/assets/RoadmapPage-Di8y00Rs.js                    0.77 kB │ gzip:   0.49 kB
2026-08-08T19:21:48.3583537Z dist/assets/crypto-BvhIHrkD.js                         0.99 kB │ gzip:   0.41 kB
2026-08-08T19:21:48.3584784Z dist/assets/LoadActionBar-DvJAJiHO.js                  1.05 kB │ gzip:   0.64 kB
2026-08-08T19:21:48.3586089Z dist/assets/SummaryCard-DRVl1GAD.js                    1.12 kB │ gzip:   0.64 kB
2026-08-08T19:21:48.3587700Z dist/assets/auto-CIrzUHmb.js                           1.19 kB │ gzip:   0.59 kB
2026-08-08T19:21:48.3589152Z dist/assets/PositionTable-B0Oc2XzU.js                  1.33 kB │ gzip:   0.75 kB
2026-08-08T19:21:48.3590679Z dist/assets/toolbar-DUDTpgJd.js                        1.41 kB │ gzip:   0.63 kB
2026-08-08T19:21:48.3592157Z dist/assets/FilterToolbar-BCkraulU.js                  1.89 kB │ gzip:   0.76 kB
2026-08-08T19:21:48.3593667Z dist/assets/AvailabilityState-CbVtCm7I.js              1.94 kB │ gzip:   0.98 kB
2026-08-08T19:21:48.3595144Z dist/assets/household-bZ69bs_9.js                      2.01 kB │ gzip:   0.67 kB
2026-08-08T19:21:48.3596585Z dist/assets/card-4GaONhmn.js                           2.04 kB │ gzip:   0.71 kB
2026-08-08T19:21:48.3598448Z dist/assets/LocalDataStatus-BYmoDE3i.js                2.15 kB │ gzip:   1.07 kB
2026-08-08T19:21:48.3599940Z dist/assets/portfolio-DEM0rUzp.js                      2.67 kB │ gzip:   0.93 kB
2026-08-08T19:21:48.3601393Z dist/assets/DetailDrawer-BNTywB0i.js                   2.77 kB │ gzip:   1.42 kB
2026-08-08T19:21:48.3602900Z dist/assets/BudgetAccountsPage-UA7nuZga.js             2.87 kB │ gzip:   1.26 kB
2026-08-08T19:21:48.3604439Z dist/assets/useQueryFilters-BcXd2Gsk.js                2.87 kB │ gzip:   1.12 kB
2026-08-08T19:21:48.3605931Z dist/assets/HouseholdTabs-BC44N-Wg.js                  2.94 kB │ gzip:   1.26 kB
2026-08-08T19:21:48.3607640Z dist/assets/tag-BXpMb37J.js                            3.36 kB │ gzip:   1.25 kB
2026-08-08T19:21:48.3609107Z dist/assets/chart-Cjv8F-KJ.js                          3.50 kB │ gzip:   1.49 kB
2026-08-08T19:21:48.3610891Z dist/assets/BudgetTransfersPage-CLPnIZpY.js            3.80 kB │ gzip:   1.71 kB
2026-08-08T19:21:48.3612425Z dist/assets/ReportsPage-DLDwhh-B.js                    5.18 kB │ gzip:   2.28 kB
2026-08-08T19:21:48.3613932Z dist/assets/MonthlyComparisonPage-DqovMn1B.js          5.57 kB │ gzip:   2.15 kB
2026-08-08T19:21:48.3615491Z dist/assets/CategoryAnalysisPage-fIzHMqeQ.js           5.74 kB │ gzip:   2.34 kB
2026-08-08T19:21:48.3617353Z dist/assets/WalletsPage-CbP2wgVa.js                    5.84 kB │ gzip:   2.48 kB
2026-08-08T19:21:48.3618864Z dist/assets/budget-DzeMhaVt.js                         6.24 kB │ gzip:   1.70 kB
2026-08-08T19:21:48.3620352Z dist/assets/CommandCenter-B5mKvl91.js                  6.52 kB │ gzip:   2.86 kB
2026-08-08T19:21:48.3622055Z dist/assets/BudgetVsActualPage-BvMIIgi4.js             7.14 kB │ gzip:   2.53 kB
2026-08-08T19:21:48.3623622Z dist/assets/CashPage-BwfZhlEt.js                       7.74 kB │ gzip:   2.70 kB
2026-08-08T19:21:48.3625117Z dist/assets/BudgetOverviewPage-D9SsOrrs.js             8.10 kB │ gzip:   3.15 kB
2026-08-08T19:21:48.3626650Z dist/assets/BudgetSetupPage-Cu9x4Ko5.js                8.70 kB │ gzip:   2.94 kB
2026-08-08T19:21:48.3628426Z dist/assets/BudgetPlanningPage-D59nKoXH.js             9.34 kB │ gzip:   3.17 kB
2026-08-08T19:21:48.3629977Z dist/assets/HouseholdTransactionsPage-DWdhyUBq.js     10.50 kB │ gzip:   4.00 kB
2026-08-08T19:21:48.3631514Z dist/assets/BudgetRulesPage-Dx4MyG_N.js               11.03 kB │ gzip:   3.14 kB
2026-08-08T19:21:48.3633107Z dist/assets/PostFinancePage-OPkG4wxt.js               11.47 kB │ gzip:   3.81 kB
2026-08-08T19:21:48.3634849Z dist/assets/TransactionDetailDrawer-DxYD-P_C.js       11.92 kB │ gzip:   4.03 kB
2026-08-08T19:21:48.3636425Z dist/assets/BudgetCategoriesPage-6y1WxLSN.js          12.77 kB │ gzip:   4.12 kB
2026-08-08T19:21:48.3638355Z dist/assets/DataExplorerPage-CDMbVN-r.js              13.28 kB │ gzip:   4.23 kB
2026-08-08T19:21:48.3639983Z dist/assets/BudgetTransactionsPage-D4o_ODP7.js        13.29 kB │ gzip:   4.74 kB
2026-08-08T19:21:48.3641653Z dist/assets/BudgetStatusPage-BzjRqtAN.js              14.48 kB │ gzip:   4.98 kB
2026-08-08T19:21:48.3643247Z dist/assets/message-BKwGSWHA.js                       14.77 kB │ gzip:   3.04 kB
2026-08-08T19:21:48.3644831Z dist/assets/BudgetRecurringPage-BfE-YeJ4.js           14.86 kB │ gzip:   4.77 kB
2026-08-08T19:21:48.3646612Z dist/assets/TrueWealthPage-LoOfqE7S.js                15.78 kB │ gzip:   4.84 kB
2026-08-08T19:21:48.3648606Z dist/assets/HyperliquidTraderPage-vvP2Ed4C.js         17.38 kB │ gzip:   5.32 kB
2026-08-08T19:21:48.3650155Z dist/assets/HouseholdOverviewPage-BOCEKKP_.js         18.89 kB │ gzip:   6.50 kB
2026-08-08T19:21:48.3651778Z dist/assets/PositionAddPage-B90_KDKT.js               21.42 kB │ gzip:   6.01 kB
2026-08-08T19:21:48.3653320Z dist/assets/BudgetGroceryOptimizerPage-2yTWKVee.js    22.87 kB │ gzip:   6.63 kB
2026-08-08T19:21:48.3654821Z dist/assets/CryptoPage-DhnsnVp0.js                    25.60 kB │ gzip:   7.56 kB
2026-08-08T19:21:48.3656369Z dist/assets/HouseholdReviewPage-tRnzNV0S.js           25.80 kB │ gzip:   8.13 kB
2026-08-08T19:21:48.3658178Z dist/assets/HouseholdImportsPage-DDWfO_vu.js          27.19 kB │ gzip:   8.16 kB
2026-08-08T19:21:48.3659712Z dist/assets/BudgetIncomePage-CKkYFQGF.js              32.67 kB │ gzip:   8.24 kB
2026-08-08T19:21:48.3661255Z dist/assets/runtime-core.esm-bundler-Bq0KgtJr.js      63.52 kB │ gzip:  24.96 kB
2026-08-08T19:21:48.3662744Z dist/assets/select-BBhRH2Fx.js                        81.37 kB │ gzip:  19.34 kB
2026-08-08T19:21:48.3664251Z dist/assets/PortfolioPage-tjs0kMZS.js                 89.36 kB │ gzip:  24.51 kB
2026-08-08T19:21:48.3665747Z dist/assets/button-wC48LS3Y.js                       107.91 kB │ gzip:  24.52 kB
2026-08-08T19:21:48.3667367Z dist/assets/EquityPage-CshU3XSl.js                   198.31 kB │ gzip:  63.41 kB
2026-08-08T19:21:48.3668746Z dist/assets/datatable-CS8nHcee.js                    305.80 kB │ gzip:  63.81 kB
2026-08-08T19:21:48.3670434Z dist/assets/index-zrai1xjA.js                        474.77 kB │ gzip: 134.23 kB
2026-08-08T19:21:48.3671165Z 
2026-08-08T19:21:48.3671635Z [32m✓ built in 3.54s[39m
2026-08-08T19:21:48.4561687Z Node 20 is being deprecated. This workflow is running with Node 24 by default. If you need to temporarily use Node 20, you can set the ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true environment variable. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
2026-08-08T19:21:48.4562992Z Post job cleanup.
2026-08-08T19:21:48.5901917Z (node:2612) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
2026-08-08T19:21:48.5903816Z (Use `node --trace-deprecation ...` to show where the warning was created)
2026-08-08T19:21:48.6246016Z [command]/usr/bin/tar --posix -cf cache.tzst --exclude cache.tzst -P -C /home/runner/work/FinanceManager/FinanceManager --files-from manifest.txt --use-compress-program zstdmt
2026-08-08T19:21:49.0357488Z (node:2612) [DEP0169] DeprecationWarning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities.
2026-08-08T19:21:49.5651057Z Sent 46215529 of 46215529 (100.0%), 80.9 MBs/sec
2026-08-08T19:21:49.6439422Z Cache saved with the key: node-cache-Linux-x64-npm-03ff534433b34e7d1cd7112dda888f841eee58edbb76bb97b8cda58e6f943f7e
2026-08-08T19:21:49.6634669Z Node 20 is being deprecated. This workflow is running with Node 24 by default. If you need to temporarily use Node 20, you can set the ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true environment variable. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
2026-08-08T19:21:49.6635924Z Post job cleanup.
2026-08-08T19:21:49.7597753Z [command]/usr/bin/git version
2026-08-08T19:21:49.7698046Z git version 2.54.0
2026-08-08T19:21:49.7738484Z Temporarily overriding HOME='/home/runner/work/_temp/b39c393a-1f07-4866-acf3-85b49398f981' before making global git config changes
2026-08-08T19:21:49.7748243Z Adding repository directory to the temporary git global config as a safe directory
2026-08-08T19:21:49.7769995Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/FinanceManager/FinanceManager
2026-08-08T19:21:49.7816288Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-08-08T19:21:49.7881878Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
2026-08-08T19:21:49.8268158Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-08-08T19:21:49.8303488Z http.https://github.com/.extraheader
2026-08-08T19:21:49.8338554Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
2026-08-08T19:21:49.8397873Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :"
2026-08-08T19:21:49.9052115Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-08-08T19:21:49.9142198Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-08-08T19:21:49.9672263Z Cleaning up orphan processes
2026-08-08T19:21:49.9949876Z ##[warning]Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
